草庐IT

java - 处理 HTTP 状态码的通用机制

全部标签

ruby-on-rails - Rails 4 AbstractController::Metal 渲染状态 != 200(即 401、404)

我正在我的应用程序中实现一个简单的API来与Android应用程序通信。我主要尝试使用AbstractController::Metal来提高性能。我遇到的问题是渲染忽略了我传递的状态选项。非常简单的例子:classApi::V1::ApiController打电话curl-v-XGEThttp://app.dev:3000/api/v1/sessions.json我希望收到401,但我却收到200OK:>GET/api/v1/sessions.jsonHTTP/1.1>User-Agent:curl/7.30.0>Host:app.dev:3000>Accept:*/*>有什么想法吗

ruby-on-rails - 通过 Ruby 的 HTTP post 请求

我是ruby​​的新手,正在尝试一些基本的东西。当我使用以下命令向服务器发送HTTP请求时:curl-v-H"Content-Type:application/json"-XGET-d"{"myrequest":"myTest","reqid":"44","data":{"name":"test"}}"localhost:8099我的服务器将JSON数据视为"{myrequest:myTest,reqid:44,data:{name:test}}"但是当我使用以下ruby​​代码发送请求时:require'net/http'@host='localhost'@port='8099'@p

ruby-on-rails - HttpPlatformHandler HTTP 错误 502.3 - 网关错误

我正在尝试在IIS上运行Rails,我遵循了提到的步骤here经过斯科特·汉塞尔曼。这里有一些可能有用的信息:Rails版本:5.1.4ruby版本:2.3.3按照设置步骤操作后,我解决了这个问题HTTPError502.3-BadGatewayTherewasaconnectionerrorwhiletryingtoroutetherequest.Mostlikelycauses:TheCGIapplicationdidnotreturnavalidsetofHTTPerrors.Aserveractingasaproxyorgatewaywasunabletoprocessther

ruby-on-rails - 带有 HTTP header 的 redirect_to

不确定这是否可行或是否有意义,但我正在尝试在设置HTTPheader字段后进行重定向。像这样的东西:request.headers['Accept']='application/json'redirect_tourl显然这不起作用,因为request是当前请求,而不是重定向。有什么方法可以使用自定义HTTPheader调用redirect_to吗? 最佳答案 无论您使用何种语言或框架,都不可能重定向到设置了自定义header的页面。换句话说,无法触发HTTP重定向并导致客户端(浏览器)添加自定义header。正如您自己提到的,您正在

ruby - RobuSTLy 调用不稳定的 API:使用 Net::HTTP 进行正确的错误处理

我将其组合在一起,作为一种看似可靠的方式来调用不稳定的Web服务,该服务会出现超时和偶尔的名称解析或套接字错误或其他任何问题。我想我会把它放在这里以防它有用,或者更有可能被告知执行此操作的更好方法。require'net/http'retries=5beginurl=URI.parse('http://api.flakywebservice.com')http=Net::HTTP.new(url.host,url.port)http.read_timeout=600#beverypatientres=nilhttp.start{|http|req=Net::HTTP::Post.new

iphone - 设计和 Rails 3 中的 http 身份验证

我有一个使用deviseonrails3的应用程序。我想启用http身份验证,以便我可以从iPhone应用程序向我的网络应用程序进行身份验证。如何从我的iPhone应用程序进行身份验证以进行设计?这安全吗?还是我应该进行不同的身份验证? 最佳答案 从设计的角度来看,您有3个选择:1)使用基本的http身份验证:您的iPhone应用程序有一个secretkey-这是在您的iPhone应用程序代码中烘焙的-用于对网络应用程序的每个请求进行身份验证。Google搜索:“设计基本的http身份验证”2)您可以通过在您的iPhone应用程序中

ruby-on-rails - 将散列作为函数参数处理

我正在使用RubyonRails3,我正在尝试将散列作为函数参数进行处理。例如,如果我这样声明一个函数:deffunction_name(options={})...end我想向function_name传递一个类似的散列{"key1"=>"value_1","key2"=>"value2","..."=>"..."}然后在函数内部使用它。什么是最佳\常见(Rails)方法?P.S.:我在某处看到了extract_option!方法,但我不知道在哪里可以找到一些文档,也不知道我是否需要这些文档才能实现我的目标。 最佳答案 只需使用您

ruby-on-rails - ActiveResource 错误处理

我一直在寻找一段时间,但我还没有找到满意的答案。我有两个应用程序。FrontApp和BackApp。FrontApp有一个事件资源,它模仿BackApp中的模型。所有模型级别的验证都在BackApp中进行,我需要在FrontApp中处理这些BackApp验证。我有以下事件资源代码:classRemoteUser这模拟了如下模型classUser每当我在前面的应用程序中创建一个新的RemoteUser时;我调用.save。例如:user=RemoteSession.new(:username=>"user",:password=>"")user.save但是,由于密码为空,我需要将错误从

ruby - 在 Sinatra 的自定义错误 block 中设置状态代码

我有一个400状态代码的自定义错误消息:get'/do'doraiseParamXMissingErrorunlessparams['x']enderrorParamXMissingErrordohaml:custom_error_pageend我希望ParamXMissingError为400,但是当我运行上面的代码并通过FirefoxNetwork工具检查时,Sinatra似乎实际上返回了500,而不是400。如何让它显示custom_error_page.haml并返回400?最好是从错误block内部处理状态代码和页面,而不是我在引发ParamXMissingError时四处乱

ruby - Ruby 中的 Sinatra 错误处理

我有一个简单的Sinatra休息,但我无法捕获错误。我也承认我对Ruby和Sinatra还很陌生。当我在post端点中引发错误时,我想报告传入的文档。我需要1)处理发布结果中的错误(我可以访问@incoming)或2)将传入文档传递给错误并在那里报告。什么是更好的选择,选项1还是选项2?如果我坚持使用选项1,我该如何防止错误发现错误(就像它现在所做的那样)如果我转到选项2,我如何将incoming传递给error?下面是我的代码示例:post('/result')dobegin@incoming=JSON.parse(request.body.read)//dosomethingtha